package com.rjyb.student_management_platform.service;

import com.rjyb.student_management_platform.pojo.Class;
import com.rjyb.student_management_platform.pojo.*;
import com.rjyb.student_management_platform.unit.common.Page;
import com.rjyb.student_management_platform.unit.common.Pager;
import org.springframework.ui.Model;

import javax.servlet.http.HttpSession;
import java.util.HashMap;
import java.util.List;

public interface AdminInOpService {
    String toLogin(Admininop admininop, Model model, HttpSession session);
    //查询所有学生
    List<Student> seleallstudent(Page page);
    //查询全部班级
    List<Class> seleallclass();
    //查询所有老师
    List<Teacher> seleallteacher();
    //条件查询学生
    List<Student> selestudet(long cid, long tid, String name);

    int selpagenum();
    //查询班级
    List<Class> selectClass();
    List<Class> selectClassTT(Pager pager);

    //查询班级的分页查询
    int selectClassCT();

    //查询课程
    List<Booksubject> selectBooksubject();
    List<Booksubject> selectBooksubjectT(Pager pager);
    //查询卡成的分页查询
    int selectBooksubjectC();


    //添加学生名字学号手机号班级
    void AddStudentNameClass(Student student);

    //添加学生班级
    void AddStudentClass(Student student,String cid);

    //添加老师名字工号和所教
    void AddTeacherBooksubject(Teacher teacher);

    //添加老师班级
    void AddTeacherClass(String cid,Teacher teacher);

    //添加班级
    void AddClass(Class c);


    //查询所有老师
    List<HashMap> selectAllTeacher(Pager pager);
    int selectAllTeacherC();

    //查询所有班级
    List<HashMap> selectAllClass(Pager pager);
    int selectAllClassC();

    //通过班级查老师
    List<HashMap> selectTOfName(String className,Pager pager);
    int selectTOfNameC(String className);

    //通过老师名字查老师
    List<HashMap> selectTOfTName(String teacherName,Pager pager);
    int selectTOfTNameC(String teacherName);

    //查询作业
    List<HashMap> selectHomeWorkA(Pager pager);
    Integer selectHomeWorkC();

    //查询作业关联班级
    List<HashMap> selectWorkClassname(long jid);
    //查询作业完成情况
    List<HashMap> selectWorkComplete(long jid,long cid);

    //查看老师
    List<Teacher> seleteacher();

    //查看老师带的班级有没有重复的
    Class_Teacher selectClass_Teacher(Class_Teacher class_teacher);

    //查看学生有没有注册过
    Student ifselectStudent(Student student);

    //查看老师有没有注册过
    Teacher ifselectTeacher(Teacher teacher);
    //查询考勤
    List<HashMap> selectAllAttendancd(long cid,Pager pager,long tid);
    //考勤分页
    int selectAllAttendancdC(long cid,Pager pager,long tid);
    //通过第几节课查考勤
    List<HashMap>  selectClassSection(Integer classsection,long cid,String atDate,long tid);
    //通过带的班查考勤
    List<HashMap> selectCOfName(long cid);
    //查老师和带的班
    List<HashMap> selectClassT(Pager pager);
    //查老师带的班分页
    Integer selectClassC();
    //通过老师名字查考勤
    List<HashMap> selectCOfAtt(String teacherName);
    //作业筛选
    List<HashMap> selectAllWorkPlus(long cid);
    //作业模糊查询
    List<HashMap>  selectWorkN(String hoName);

    //查看课程有没有给注册过
    Booksubject ViewCourseRegistrations(Booksubject booksubject);

    //添加课程
    void AddCourse(Booksubject booksubject);

    //查看添加班级重复
    Class ClassQuery(Class c);
}
